package com.bzxhh.spring6.autowired.controller;

import com.bzxhh.spring6.autowired.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class UserController {

    //注入Service
    //第一种方式 属性注入
//    @Autowired //根据类型找到对应的对象，完成注入
    private UserService userService;

    //第二种方式 进行set方法注入
//    @Autowired
//    public void setUserService(UserService userService) {
//        this.userService = userService;
//    }

    //第三种 构造方法注入
//    @Autowired
//    public UserController(UserService userService) {
//        this.userService = userService;
//    }

    //第四种 形参上进行注入
//    public UserController(@Autowired UserService userService) {
//        this.userService = userService;
//    }

    //第五种方式 只有一个有参构造函数 无注解
    public UserController(UserService userService) {
        this.userService = userService;
    }

    public void add() {
        System.out.println("Controller ...");
        userService.add();
    }
}
